package com.medusa.aps.business.modules.demand.mp.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.medusa.aps.business.model.pagination.Page;
import com.medusa.aps.business.modules.demand.model.input.OrderPageQuery;
import com.medusa.aps.business.modules.demand.model.input.SchedulePageQuery;
import com.medusa.aps.business.modules.demand.model.output.OrderInfoPageListModel;
import com.medusa.aps.business.modules.demand.model.output.SchedulePageListModel;
import com.medusa.aps.business.modules.demand.mp.entity.OrderInformation;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * 订单信息数据库访问层
 *
 * @author yuxh
 * @since 2023-08-14 17:37:47
 */
public interface OrderInformationMapper extends BaseMapper<OrderInformation> {

    /**
     * 分页查询 订单信息
     *
     * @param query 分页查询参数
     * @return 分页查询结果数据
     */
    Page<OrderInfoPageListModel> orderPage(@Param("query") OrderPageQuery query);

    List<OrderInformation> selectByScheduled(@Param("scheduledStatus") List<Integer> scheduledStatus, @Param("orderNumber") Set<String> orderNumber);

    /**
     * 查询调整排程分页列表
     *
     * @param schedulePageQuery 分页参数
     * @return 调整排程分页数据
     */
    Page<SchedulePageListModel> schedulePage(@Param("param") SchedulePageQuery schedulePageQuery);
}

